package cn.gbase.jiangsu.data.transfer.bean;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Id;
import org.nutz.dao.entity.annotation.Table;

import cn.gbase.jiangsu.data.transfer.validation.annotation.Validations;

/**
 * 运营商用户表.
 * 
 */
@Table("product")
public class Product extends BaseDto {

	/**
	 * ID.
	 */
	@Column
	@Id
	private int id;

	/**
	 * 商品名称.
	 */
	@Column("product_name")
	@Validations(required = true, strLen = { 1, 100 }, errorMsg = "商品名称应为1-100个字符。")
	private String productName;

	/**
	 * 商品编码.
	 */
	@Column("product_code")
	@Validations(required = false, strLen = { 0, 30 }, errorMsg = "商品编码应为1-30个字符。")
	private String productCode;

	/**
	 * 商品分类.
	 */
	@Column("product_sort")
	@Validations(required = true, errorMsg = "请选择商品分类。")
	private int productSort;

	/**
	 * 商品介绍.
	 */
	@Column("product_content")
	@Validations(required = true, strLen = { 1, 10000 }, errorMsg = "商品介绍应为1-10000个字符。")
	private String productContent;

	/**
	 * 商品图片1.
	 */
	@Column("product_pic1")
	private String productPic1;

	/**
	 * 商品图片2.
	 */
	@Column("product_pic2")
	private String productPic2;

	/**
	 * 商品图片3.
	 */
	@Column("product_pic3")
	private String productPic3;

	/**
	 * 商品图片4.
	 */
	@Column("product_pic4")
	private String productPic4;

	/**
	 * 商品图片5.
	 */
	@Column("product_pic5")
	private String productPic5;

	/**
	 * 供货商ID.
	 */
	@Column("supplier_id")
	private int supplierId;

	/**
	 * 商品类别（1.商品2.服务）.
	 */
	@Column("product_type")
	private int productType;

	public int getProductType() {
		return productType;
	}

	public void setProductType(int productType) {
		this.productType = productType;
	}

	/**
	 * 库存数量.
	 */
	@Column("stock_number")
	@Validations(required = true, errorMsg = "请输入库存数量。")
	private int stockNumber;

	/**
	 * 销售数量.
	 */
	@Column("sell_number")
	private int sellNumber;

	/**
	 * 供货商的价格.
	 */
	@Column("supplier_price")
	private BigDecimal supplierPrice;

	/**
	 * 每份重量.
	 */
	@Column("weight")
	private Float weight;

	/**
	 * 重量单位.
	 */
	@Column("weight_unit")
	private String weightUnit;

	/**
	 * 品质.
	 */
	@Column("quality")
	private String quality;

	public String getQuality() {
		return quality;
	}

	public void setQuality(String quality) {
		this.quality = quality;
	}

	/**
	 * 加价比例(1-100之间).
	 */
	@Column("add_percent")
	private int addPercent;

	/**
	 * 零售价格.
	 */
	@Column("sell_price")
	private BigDecimal sellPrice;

	/**
	 * 原价格.
	 */
	@Column("original_price")
	private BigDecimal originalPrice;

	/**
	 * 利润分成比例(1-100之间).
	 */
	@Column("share_percent")
	private int sharePercent;

	/**
	 * 审核状态.
	 */
	@Column("pass_status")
	private int passStatus;

	/**
	 * 审核时间.
	 */
	@Column("pass_time")
	private Date passTime;

	/**
	 * 审核人.
	 */
	@Column("pass_user")
	private String passUser;

	/**
	 * 上架状态.(1：下架0：上架)
	 */
	@Column("up_status")
	private int upStatus;
	/**
	 * 最后下单日期.
	 */
	@Column("reserve_date")
	private Date reserveDate;

	/**
	 * 预定送货开始日期
	 */
	@Column("reserve_start_date")
	private Date reserveStartDate;

	/**
	 * 预定送货结束日期
	 */
	@Column("reserve_end_date")
	private Date reserveEndDate;

	public Date getReserveStartDate() {
		return reserveStartDate;
	}

	public void setReserveStartDate(Date reserveStartDate) {
		this.reserveStartDate = reserveStartDate;
	}

	public Date getReserveEndDate() {
		return reserveEndDate;
	}

	public void setReserveEndDate(Date reserveEndDate) {
		this.reserveEndDate = reserveEndDate;
	}

	private String reserveStartFormatDate;
	private String reserveEndFormatDate;

	public String getReserveStartFormatDate() {
		return reserveStartFormatDate;
	}

	public void setReserveStartFormatDate(String reserveStartFormatDate) {
		this.reserveStartFormatDate = reserveStartFormatDate;
	}

	public String getReserveEndFormatDate() {
		return reserveEndFormatDate;
	}

	public void setReserveEndFormatDate(String reserveEndFormatDate) {
		this.reserveEndFormatDate = reserveEndFormatDate;
	}

	private String reserveFormatDate;

	public String getReserveFormatDate() {
		return reserveFormatDate;
	}

	public void setReserveFormatDate(String reserveFormatDate) {
		this.reserveFormatDate = reserveFormatDate;
	}

	/**
	 * 预定状态.
	 */
	@Column("reserve_flag")
	private int reserveFlag;

	public Date getReserveDate() {
		return reserveDate;
	}

	public void setReserveDate(Date reserveDate) {
		this.reserveDate = reserveDate;
	}

	public int getReserveFlag() {
		return reserveFlag;
	}

	public void setReserveFlag(int reserveFlag) {
		this.reserveFlag = reserveFlag;
	}

	/**
	 * 删除状态.
	 */
	@Column("delete_flag")
	private int deleteFlag;

	public int getDeleteFlag() {
		return deleteFlag;
	}

	public void setDeleteFlag(int deleteFlag) {
		this.deleteFlag = deleteFlag;
	}

	/**
	 * 点击次数.
	 */
	@Column
	private int click;

	/**
	 * 推荐商品Flag.
	 */
	@Column
	private int recommendFlag;

	/**
	 * 特价商品Flag.
	 */
	@Column
	private int specialPriceFlag;

	/**
	 * 备注.
	 */
	@Column
	private String remark;

	/**
	 * 创建时间.
	 */
	@Column
	private Date addtime;

	/**
	 * 创建人.
	 */
	@Column("create_user")
	private String createUser;

	/**
	 * 虚拟物品.0：实物，1：非实物
	 */
	@Column("virtual_flag")
	private int virtualFlag;

	public int getVirtualFlag() {
		return virtualFlag;
	}

	public void setVirtualFlag(int virtualFlag) {
		this.virtualFlag = virtualFlag;
	}

	/**
	 * 审核意见.
	 */
	@Column("check_result")
	private String checkResult;

	/**
	 * 选择的节点名称.
	 */
	private String selectedNodeName;

	/**
	 * 选择的节点Id.
	 */
	private int nodeId;

	@Column("product_place")
	private String productPlace;

	@Column("company_id")
	private int companyId;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public Float getWeight() {
		return weight;
	}

	public void setWeight(Float weight) {
		this.weight = weight;
	}

	public String getWeightUnit() {
		return weightUnit;
	}

	public void setWeightUnit(String weightUnit) {
		this.weightUnit = weightUnit;
	}

	public String getProductCode() {
		return productCode;
	}

	public String getCheckResult() {
		return checkResult;
	}

	public void setCheckResult(String checkResult) {
		this.checkResult = checkResult;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}

	public int getProductSort() {
		return productSort;
	}

	public void setProductSort(int productSort) {
		this.productSort = productSort;
	}

	public String getProductContent() {
		return productContent;
	}

	public void setProductContent(String productContent) {
		this.productContent = productContent;
	}

	public String getProductPic1() {
		return productPic1;
	}

	public void setProductPic1(String productPic1) {
		this.productPic1 = productPic1;
	}

	public String getProductPic2() {
		return productPic2;
	}

	public void setProductPic2(String productPic2) {
		this.productPic2 = productPic2;
	}

	public String getProductPic3() {
		return productPic3;
	}

	public void setProductPic3(String productPic3) {
		this.productPic3 = productPic3;
	}

	public String getProductPic4() {
		return productPic4;
	}

	public void setProductPic4(String productPic4) {
		this.productPic4 = productPic4;
	}

	public String getProductPic5() {
		return productPic5;
	}

	public void setProductPic5(String productPic5) {
		this.productPic5 = productPic5;
	}

	public int getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(int supplierId) {
		this.supplierId = supplierId;
	}

	public int getStockNumber() {
		return stockNumber;
	}

	public void setStockNumber(int stockNumber) {
		this.stockNumber = stockNumber;
	}

	public int getSellNumber() {
		return sellNumber;
	}

	public void setSellNumber(int sellNumber) {
		this.sellNumber = sellNumber;
	}

	public BigDecimal getSupplierPrice() {
		return supplierPrice;
	}

	public void setSupplierPrice(BigDecimal supplierPrice) {
		this.supplierPrice = supplierPrice;
	}

	public BigDecimal getSellPrice() {
		return sellPrice;
	}

	public void setSellPrice(BigDecimal sellPrice) {
		this.sellPrice = sellPrice;
	}

	public int getPassStatus() {
		return passStatus;
	}

	public void setPassStatus(int passStatus) {
		this.passStatus = passStatus;
	}

	public Date getPassTime() {
		return passTime;
	}

	public void setPassTime(Date passTime) {
		this.passTime = passTime;
	}

	public String getPassUser() {
		return passUser;
	}

	public void setPassUser(String passUser) {
		this.passUser = passUser;
	}

	public int getUpStatus() {
		return upStatus;
	}

	public void setUpStatus(int upStatus) {
		this.upStatus = upStatus;
	}

	public int getClick() {
		return click;
	}

	public void setClick(int click) {
		this.click = click;
	}

	public int getRecommendFlag() {
		return recommendFlag;
	}

	public void setRecommendFlag(int recommendFlag) {
		this.recommendFlag = recommendFlag;
	}

	public int getSpecialPriceFlag() {
		return specialPriceFlag;
	}

	public void setSpecialPriceFlag(int specialPriceFlag) {
		this.specialPriceFlag = specialPriceFlag;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Date getAddtime() {
		return addtime;
	}

	public void setAddtime(Date addtime) {
		this.addtime = addtime;
	}

	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	public String getSelectedNodeName() {
		return selectedNodeName;
	}

	public void setSelectedNodeName(String selectedNodeName) {
		this.selectedNodeName = selectedNodeName;
	}

	public int getNodeId() {
		return nodeId;
	}

	public void setNodeId(int nodeId) {
		this.nodeId = nodeId;
	}

	public int getSharePercent() {
		return sharePercent;
	}

	public void setSharePercent(int sharePercent) {
		this.sharePercent = sharePercent;
	}

	public int getAddPercent() {
		return addPercent;
	}

	public void setAddPercent(int addPercent) {
		this.addPercent = addPercent;
	}

	public String getProductPlace() {
		return productPlace;
	}

	public void setProductPlace(String productPlace) {
		this.productPlace = productPlace;
	}

	public int getCompanyId() {
		return companyId;
	}

	public void setCompanyId(int companyId) {
		this.companyId = companyId;
	}

	public BigDecimal getOriginalPrice() {
		return originalPrice;
	}

	public void setOriginalPrice(BigDecimal originalPrice) {
		this.originalPrice = originalPrice;
	}

	private List<ProductSellField> fieldList;

	public List<ProductSellField> getFieldList() {
		return fieldList;
	}

	public void setFieldList(List<ProductSellField> fieldList) {
		this.fieldList = fieldList;
	}
}
